package com.example.dao;

import com.example.entity.UserInfo;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class UserDao {
    /*根据用户名密码查询数据库
    * @param con 连接数据库
    * @param userInfo 查询条件 根据用户信息查询
    * @return 数据库内查询用户
    * */
    public UserInfo login(Connection connection,UserInfo userInfo) throws SQLException {
        //username password
        String sql="select username,password " +
                "from t_user " +
                "where username=? and password=?";
        /*
        * 1、通过Statement查询  查询数据会有SQL注入风险
        * 2、通过PrepareState  通过预编译查询
        * */
        PreparedStatement preparedStatement=connection.prepareStatement(sql);
        //设置占位符
        preparedStatement.setString(1,userInfo.getUserName());
        preparedStatement.setString(2,userInfo.getPassword());
        //执行查询
        ResultSet resultSet=preparedStatement.executeQuery();
        if(resultSet.next()){
            //返回查询结果
            return new UserInfo(resultSet.getString("username"),resultSet.getString("password"));
        }
        return null; //没有查询到结果返回null
    }
}
